Visualforce Page এবং Apex Controller Salesforce-এ একসাথে কাজ করে একটি কাস্টমাইজড এবং ইন্টারেক্টিভ ইউজার ইন্টারফেস (UI) তৈরি করতে সহায়তা করে। Visualforce Page হলো ফ্রন্ট-এন্ড বা ব্যবহারকারীর দৃষ্টিতে দৃশ্যমান অংশ, যেখানে Apex Controller হলো ব্যাক-এন্ড লজিক যা UI-তে ডেটা এবং কার্যক্রম পরিচালনা করে। Visualforce Page এবং Apex Controller একসাথে কাজ করে Salesforce অ্যাপ্লিকেশনকে আরও কার্যকর এবং ব্যবহারকারীর জন্য উপযোগী করে।
Visualforce Page এবং Apex Controller এর মধ্যে সম্পর্ক হলো MVC (Model-View-Controller) আর্কিটেকচারের ভিত্তিতে তৈরি। Visualforce Page হল View, যা ব্যবহারকারীর জন্য UI তৈরি করে। Apex Controller হল Controller, যা ডেটা এবং ব্যবসায়িক লজিক পরিচালনা করে।
নিচে একটি সাধারণ উদাহরণ দেয়া হলো যেখানে Visualforce Page এবং Apex Controller একসাথে কাজ করেছে। এই উদাহরণে একটি Account
রেকর্ডের তথ্য UI-তে প্রদর্শন এবং আপডেট করা হয়েছে।
public class AccountController {
public Account account { get; set; }
public AccountController() {
// ডেটা ইনিশিয়ালাইজেশন
account = [SELECT Id, Name, Industry FROM Account LIMIT 1];
}
// Account নাম আপডেট করা মেথড
public void updateAccountName() {
update account;
}
}
Account
অবজেক্টের ডেটা পরিচালনা করে এবং Visualforce Page-এ ডেটা পাঠায়।Account
রেকর্ডের নাম আপডেট করে।<apex:page controller="AccountController">
<h1>Account Details</h1>
<apex:form>
<apex:pageBlock title="Update Account Information">
<apex:pageBlockSection>
<apex:outputLabel value="Account Name"/>
<apex:inputField value="{!account.Name}"/>
<apex:outputLabel value="Industry"/>
<apex:inputField value="{!account.Industry}"/>
</apex:pageBlockSection>
<apex:commandButton value="Update" action="{!updateAccountName}" rerender=""/>
</apex:pageBlock>
</apex:form>
</apex:page>
AccountController
Controller সংযুক্ত করা হয়েছে।Account
রেকর্ডের ফিল্ডগুলোকে UI-তে ইনপুট ফিল্ডের মাধ্যমে প্রদর্শন ও সম্পাদনা করা হয়েছে।Update
বোতামটি updateAccountName
মেথড কল করে Account
রেকর্ডের তথ্য আপডেট করে।Data Binding: Visualforce Page-এর {!variable}
ব্যবহার করে Controller-এর ডেটা UI-তে ডায়নামিকভাবে দেখানো যায় এবং UI থেকে ডেটা Controller-এ পাঠানো যায়।
Action Methods: Controller এর মধ্যে বিভিন্ন মেথড যেমন update
, save
, delete
তৈরি করা যায়, যা Visualforce Page-এর মাধ্যমে ব্যবহারকারীর কার্যক্রমে প্রতিক্রিয়া জানায়।
SOQL এবং DML Integration: Controller এর মাধ্যমে SOQL Query এবং DML Operation ব্যবহার করে Visualforce Page-এ ডেটা দেখানো এবং পরিবর্তন করা যায়।
Custom Validation Logic: Controller-এ কাস্টম ভ্যালিডেশন লজিক যুক্ত করে Visualforce Page-এর মাধ্যমে ডেটা ভ্যালিডেশন করা যায়।
ডাইনামিক এবং ইন্টারেক্টিভ UI তৈরি: Visualforce Page এবং Apex Controller ব্যবহার করে ব্যবহারকারীর জন্য ডাইনামিক এবং ইন্টারেক্টিভ UI তৈরি করা যায়।
ব্যবসায়িক লজিক এবং ডেটা ম্যানেজমেন্ট: Controller ডেটা ম্যানেজমেন্ট এবং ব্যবসায়িক লজিক পরিচালনা করে, যা অ্যাপ্লিকেশনের কার্যক্ষমতা উন্নত করে।
কোড পুনঃব্যবহারযোগ্যতা: একবার তৈরি করা Apex Controller অন্যান্য Visualforce Page-এ ব্যবহার করা যায়, যা কোড পুনঃব্যবহারযোগ্যতা নিশ্চিত করে।
MVC আর্কিটেকচার অনুসরণ: Visualforce Page এবং Apex Controller, MVC আর্কিটেকচারের ভিত্তিতে গড়ে ওঠে, যা অ্যাপ্লিকেশন পরিচালনা ও নিয়ন্ত্রণকে সহজ ও কার্যকর করে।
Action Methods সঠিকভাবে ব্যবহার করুন: শুধুমাত্র প্রয়োজনীয় ফাংশন তৈরি করুন এবং Visualforce Page থেকে Controller-এর Action মেথড কল করুন।
Governor Limits মেনে চলুন: SOQL এবং DML Operations Controller-এ ব্যবহার করার সময় Salesforce-এর গভর্নর লিমিট মেনে চলুন।
Exception Handling: Controller-এ Exception Handling যুক্ত করে নিশ্চিত করুন যাতে কোনো ত্রুটি ঘটলে তা ব্যবহারকারীর কাছে উপযুক্ত বার্তা প্রদান করতে পারে।
Test Coverage: Controller-এ যুক্ত লজিক ও কার্যক্রমের জন্য যথাযথ Unit Test তৈরি করুন এবং ৭৫% কভারেজ নিশ্চিত করুন।
Visualforce Page এবং Apex Controller একসাথে কাজ করে Salesforce-এ ইন্টারেক্টিভ UI এবং ডেটা ম্যানেজমেন্ট নিশ্চিত করে। Visualforce Page UI-এর মাধ্যমে ব্যবহারকারীর জন্য কাস্টমাইজড ইন্টারফেস তৈরি করে, যেখানে Apex Controller ডেটা এবং ব্যবসায়িক লজিক পরিচালনা করে। MVC আর্কিটেকচার অনুসরণ করে Visualforce Page এবং Apex Controller অ্যাপ্লিকেশনের কার্যক্ষমতা, স্থায়িত্ব এবং পুনঃব্যবহারযোগ্যতা নিশ্চিত করে, যা উন্নত ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।
common.read_more